package grapher.ui;

import java.awt.Button;
import java.awt.Panel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;

import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JSplitPane;
import javax.swing.SwingUtilities;


public class Main extends JFrame {
	Main(String title, String[] expressions) {
		super(title);
		setDefaultCloseOperation(EXIT_ON_CLOSE);
		
		Grapher grapher = new Grapher();		
		for(String expression : expressions) {
			grapher.add(expression);
		}
		
		add(grapher);
		
		
		//Creation du JSplitPane afin d'ajouter la liste des expressions et le graphe dans la fenetre
		JSplitPane composant = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
	//	final TableFonctions listeFonctions = new TableFonctions(expressions, grapher);
	//	composant.add(listeFonctions);
		composant.add(grapher);
		
		//Creation de la barre de menu
		JMenuBar menu = new JMenuBar();
		//Creation du menu expressions
		JMenu exp = new JMenu("Expressions");
		//Creation de l'item Ajouter
		JMenuItem item = new JMenuItem("Ajouter");
		item.setMnemonic(KeyEvent.VK_A);
		item.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
			//	Outils.ajoutExpression(listeFonctions);
			}
		});
		exp.add(item);
		
		//Creation de l'item Supprimer
		item = new JMenuItem();
		item.setText("Supprimer");
		item.setMnemonic(KeyEvent.VK_A);
		item.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
			//	Outils.supprimerExpression(listeFonctions);
			}
		});
		
		Panel outilBarre = new Panel();
		Button[] boutons = {new Button("Nouveau"),new Button("Effacer"), new Button("Quitter")};
		  for (int i=0 ; i< boutons.length; i++) 
		    outilBarre.add(boutons[i]);
		
		exp.add(item);
		
		menu.add(exp);
		
		setJMenuBar(menu);
		add(outilBarre,"North");
		add(composant);
		pack();
	}
		
	public static void main(String[] argv) {
		final String[] expressions = argv;
		SwingUtilities.invokeLater(new Runnable() {
			public void run() { 
				new Main("grapher", expressions).setVisible(true); 
			}
		});
	}
}